home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
C64
/
I-Info Magazine
/
(c)i20.d64
/
b.a.sda
/
FILE COPIER
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2007-02-04
|
3KB
|
117 lines
10 REM *** FILE COPIER VERSION 10/04/87 ***
15 CLR:GOTO30
20 POKE53265,11:PRINT#15,"UI-":RETURN
25 POKE53265,27:PRINT#15,"UI+":RETURN
30 POKE55,0:POKE56,24:CLR
35 PG=24:MX=PEEK(56)
40 Z$=CHR$(0):Q$=CHR$(34)
45 POKE53280,0:POKE53281,0
50 PRINTCHR$(14);CHR$(8)
55 DIMF$(MX),F(MX),T(MX)
60 FORI=828TO922:READA:POKEI,A:NEXT
65 PRINT"[147][154] [211][201][206][199][204][197] [196][201][211][203] [198][201][204][197] [195][207][208][201][197][210] "
70 PRINT"[158][208]LEASE INSERT THE [211][207][213][210][195][197][158] DISKETTE INTO"
75 PRINT"THE DISK DRIVE,THEN PRESS [210][197][212][213][210][206] "
80 GETA$:IFA$<>CHR$(13)THEN80
85 OPEN15,8,15,"I0"
90 INPUT" [198]ILENAMES TO MATCH ? *[158][157][157][157]";F$
95 IFRIGHT$(F$,1)<>"*"THENF$=F$+"*"
100 GOSUB490:IFEGOTO470
105 OPEN1,8,0,"$0:"+F$:GOSUB490
110 IFETHENPRINT"[154] IMPOSSIBLE TO READ DIRECTORY [146]":GOTO470
115 PRINT" [158]'[195][158]' TO COPY FILE '[210][158]' TO REJECT FILE ";
120 PRINT"'[194][158]' TO BEGIN COPY '[193][158]' TO ABORT COPY"
125 GET#1,A$,B$:N=0:AD=PG*256
130 GET#1,A$,B$:IFB$=""GOTO235
135 GET#1,A$,B$:F$=""
140 SZ=ASC(A$+Z$)+ASC(B$+Z$)*256
145 GET#1,A$:IF64ANDSTGOTO235
150 IFA$<>Q$GOTO145
155 GET#1,A$:IFA$<>Q$THENF$=F$+A$:GOTO155
160 GET#1,A$:IFA$<>" "GOTO160
165 GET#1,T$:IFT$=" "GOTO165
170 GET#1,A$:IFA$<>""GOTO170
175 IFSZ=0OR(T$<>"P"ANDT$<>"S")GOTO130
180 PRINTSZ;TAB(5)T$" "Q$F$Q$TAB(26);
185 IFAD+SZ*256>65535THENPRINT"[212][207][207] [204][193][210][199][197]":GOTO130
190 PRINT"_ C:R:B:A?[146][157][157][157][157][157][157][157][157]";
195 GETA$:IFA$=""GOTO195
200 IFA$="R"THENPRINT"[154]REJECT FILE":GOTO130
205 IFA$="B"THENPRINT"[154]BEGIN COPY":GOTO235
210 IFA$="A"THENPRINT"[154]ABORT COPY":GOTO455
215 IFA$<>"C"GOTO195
220 N=N+1:F$(N)=F$+","+T$:PRINT"[154]COPY FILE "
225 AD=AD+SZ*256:IFN<MXGOTO130
230 PRINT" [205]AXIMUM OF";MX;"FILES."
235 CLOSE1:PL$="S":IFN=1THENPL$=""
237 PRINT"[158]";N;"FILE";PL$;" TO READ"
240 AD=PG*256:IFN=0GOTO470
245 FORI=1TON
250 PRINT" ";Q$;F$(I);Q$;TAB(20);
255 SZ=INT(AD/256)
260 POKE251,AD-SZ*256:POKE252,SZ
265 OPEN1,8,2,"0:"+F$(I):GOSUB490
270 IFE=74THENCLOSE1:N=I-1:GOTO310
275 IFETHENCLOSE1:F$(I)="":GOTO305
280 GOSUB20:SYS831:GOSUB490:CLOSE1:GOSUB25:IFE=74THENN=I-1:GOTO310
285 IFETHENF$(I)="":GOTO305
290 IFPEEK(252)=208THENF$(I)="":PRINT"[212][207][207] [204][193][210][199][197][146]":GOTO305
295 F(I)=AD:AD=PEEK(251)+PEEK(252)*256:T(I)=AD
300 PRINTRIGHT$(" "+STR$(T(I)-F(I)),5);" BYTES OF MEM"
305 NEXTI
310 IFN=0GOTO460
315 POKE53281,0:POKE53280,0:PRINT"[158][208]LEASE INSERT THE [196][197][211][212][201][206][193][212][201][207][206][158] DISKETTE"
320 INPUT"[198][207][210][205][193][212][158] THIS DISKETTE N[158][157][157][157]";A$
325 PRINT
330 IFA$<>"Y"GOTO350
335 INPUT" [196]ISK NAME,ID";F$,T$
340 PRINT#15,"N0:"+F$+","+T$
345 PRINT:GOSUB490:IFEGOTO310
350 FORI=1TON
355 IFF$(I)=""GOTO440
360 PRINT" ";Q$;F$(I);Q$;TAB(20);
365 OPEN1,8,2,F$(I)+",W"
370 GOSUB490:IFE=0GOTO405
375 CLOSE1:IFE=63THEN385
385 PRINT:INPUT" [210][197][208][204][193][195][197][158] EXISTING FILE [157]? N[158][157][157][157]";A$
390 PRINT
395 IFA$<>"Y"GOTO440
400 PRINT#15,"S0:"+F$(I):GOTO360
405 SZ=INT(F(I)/256)
410 POKE251,F(I)-SZ*256:POKE252,SZ
415 SZ=INT(T(I)/256)
420 POKE253,T(I)-SZ*256:POKE254,SZ
425 GOSUB20:SYS828:GOSUB490:CLOSE1:GOSUB25:IFE=72ORE=74GOTO445
430 IFEGOTO440
435 PRINTRIGHT$(" "+STR$(T(I)-F(I)),5);" BYTES OF MEM"
440 NEXTI
445 INPUT"[158] [211]AVE SAME PROGRAMS AGAIN? N[158][157][157][157]";A$
450 IFA$="Y"GOTO310
455 CLOSE15:CLOSE1
460 POKE53280,0:POKE53281,0:INPUT"[158] [205]ORE PROGRAMS TO COPY? Y[158][157][157][157]";A$
465 IFA$="Y"THEN CLOSE15:CLOSE1:GOTO65
470 PRINTTAB(10)"***[158] [197][206][196] [207][198] [195][207][208][217] ***[158]"
475 PRINT"[194]ANK [193]CCOUNTS IN DRIVE?...PRESS [210][197][212][213][210][206] [145]"
480 GETAN$:IFAN$<>CHR$(13)THEN480
485 PRINTCHR$(9);:POKE56,160:GOTO565
490 INPUT#15,E,E$,E1,E2
495 IFE=0THENRETURN
500 EE$=MID$(STR$(E),2):E1$=MID$(STR$(E1),2):E2$=MID$(STR$(E2),2)
505 IFE=63THENRETURN
510 PRINT:PRINT"";EE$;",";E$;",";E1$;",";E2$
515 DATA56,176,38,162,1,32,198,255,32,228
520 DATA255,160,0,32,143,3,145,251,32,149
525 DATA3,230,251,208,7,230,252,141,32,208
530 DATA240,6,165,144,41,64,240,226,76,204
535 DATA255,162,1,32,201,255,32,143,3,160
540 DATA0,177,251,32,149,3,32,210,255,230
545 DATA251,208,5,230,252,141,32,208,165,251
550 DATA197,253,208,228,165,252,197,254,208,222
555 DATA76,204,255,120,162,52,134,1,96,162
560 DATA55,134,1,88,96
565 POKE53280,0:POKE53281,0:PRINT"[147][144]"
570 H$="B.A. UTIL.":POKE198,4
575 PRINT"[147]LOAD"CHR$(34)H$;
580 PRINT CHR$(34)",8";
585 POKE631,13:POKE632,82:POKE633,117:POKE634,13:END